Method and apparatus for controlling data retransmission

ABSTRACT

A method and apparatus for controlling a retransmission in a telecommunications system. A pointer, V(P), that points to the upper bound of retransmitted data frames in a receiver buffer is introduced. A list includes at least one entry indicating a missed data frame for which a retransmission request has been transmitted. The entry is associated with a retransmission/abort timer that is started upon transmission of the retransmission request for the data frame. Once a retransmission timer is started, any received data frame type, whether valid or not, is counted in the incrementation of the retransmission/abort timer for an unreceived data frame. However, if the received data frame is not a valid data frame, any expiration action on the retransmission/abort timer is disabled. Also, anytime any valid frame is received, an expiration action may be taken on the retransmission timer of unreceived data frames having a sequence number less than V(P).

This application is a continuation of U.S. application Ser. No.09/034,196, filed on Mar. 3, 1998, now U.S. Pat. No. 6,076,181.

FIELD OF THE INVENTION

This invention relates to telecommunications systems, and, moreparticularly, to a method and apparatus for controlling dataretransmission in a telecommunications system.

BACKGROUND OF THE INVENTION

Major cellular telecommunications system types include those operatingaccording to the Global Services for Mobile (GSM) Standard, theTIA/EIA/IS-95 Mobile Station-Base Station Compatibility Standard forDual Mode Wide Band Spread Spectrum Cellular Systems (IS-95), theTIA/EIA/IS-136 Mobile Station-Base Station Compatibility Standard(IS-136), and the TIA/EIA 553 Analog Standard (AMPS/TACS). Other majorcellular systems include those operating in the personal communicationssystem (PCS) band according to the IS-95 based ANSI-J-STD-008 1.8-2.0GHz standard or those operating according to the GSM based PCS1900 (1900MHz frequency range) standard.

Currently, each of the major cellular system standards bodies isimplementing data services into its digital cellular specifications. Adata service specification has been finalized for GSM, and data servicespecifications compatible with the IS-95 and IS-136 standards are beingprepared. The IS-95 data service standard is contained in the TIA/EIAdocument, “Data Service Options for Wideband Spread Spectrum Systems,”PN-3676.1-PN-3676.6, which is to be published asTIA/EIA/IS-707.1-TIA/EIA/IS-707.6 (IS-707).

In an IS-707 based system, a radio link protocol (RLP) is utilized toprovide an octet stream service over IS-95 forward and reverse trafficchannels. The RLP is defined in Section IS-707.2 of IS-707. Each octetof the RLP comprises 8 bits of digital data. The octet stream servicecarries the variable length data packets of the point-to-point protocollayer. The RLP divides the point-to-point protocol packets into IS-95traffic channel frames for transmission. The IS-95 traffic channelframes form the physical layer transmission frames. There is no directrelationship between point-to-point protocol packets and IS-95 frames. Alarge packet may span several IS-95 traffic channel frames, or a singletraffic channel frame may include all or part of several point-to-pointpackets. The RLP does not take the higher level traffic channel framinginto account but operates on a featureless octet stream, delivering theoctets to the IS-95 multiplex sublayer for transmission in the order theoctets are received from the point-to-point layer. The data may betransmitted on the traffic channel as primary traffic or, for example,along with speech, as secondary traffic. The IS-707 RLP generates andsupplies one frame to the IS-95 multiple sublayer every 20 msec. Thesize of the RLP frame depends on the type of transmission frameavailable for transmitting the RLP frame.

The RLP utilizes RLP control frames to control the transmission of dataand RLP data frames for the transmission of data at the RLP level.

The format of RLP control and data frames is defined so that each RLPframe includes an 8-bit sequence number field (SEQ). Each RLP data frameSEQ field contains the sequence number of that particular data frame.The sequence numbers are used to identify each received data frame andallow determination of data frames that have not been received. The RLPcontrol frame SEQ field is not used to indicate the sequence number ofthe control frame but contains the next data frame sequence number toallow quick detection of erased data frames.

Each RLP data frame includes a number of data bits, with a maximumnumber of data bits allowed for each frame. The maximum number of databits allowed in a data frame depends upon the IS-95 multiplex subchannelused and the transmission frame available. The range can vary. Forexample, for primary traffic on the traffic channel, using multiplexoption 2 at IS-95 full rate, the maximum number of data bits allowed is266; and for primary traffic on the traffic channel using multiplexoption 1 at IS-95 half rate, the maximum number of data bits allowed is80. When fewer than the maximum number of bits are transmitted in aframe, padding is used to fill out the data field. Each RLP data framealso includes an RLP frame type (CTL) field and a data length (LEN)field. The LEN field indicates the length of the data in the frame inoctets. For unsegmented data frames, the CTL frame is one bit and is setto 0. For segmented data frames, the CTL frame contains 4 bits and canbe set to indicate whether the data in the frame includes the first LENoctets, the next LEN octets, or the last LEN octets of the segmenteddata frame.

The RLP control frame may function as a negative acknowledgment (NAK)RLP control frame to request retransmission of unreceived data frames. ANAK RLP control frame includes a 4-bit frame type (CTL) field, a 4-bitlength (LEN) field, an 8-bit FIRST field, an 8-bit LAST field, areserved field (RSVD), a frame check sequence field (FCS) and padding.An RLP control frame having the frame type field set to indicatenegative acknowledgment (NAK) may then be used to request retransmissionof a particular data frame or a particular sequence of data frames. Forexample, a mobile station expecting a data frame having a particularsequence number would transmit a NAK control frame to the base stationif the mobile determined that the data frame was missed from thesequence numbers of received RLP frames. The FIRST and LAST fields ofthe RLP NAK control frame are used to indicate the particular data frameor sequence (indicated as a range beginning at the sequence numberindicated by the FIRST field and ending at the sequence number indicatedby the LAST field) of data frames that are requested to beretransmitted. In IS-707, the number of requests for retransmission of adata frame is a set number, and the initiation of subsequent requestsfor retransmission after the initial NAK control frame is sent iscontrolled by a NAK retransmission timer. When RLP frames are carried asprimary or secondary traffic, the retransmission timer is implemented asa frame counter. The NAK retransmission counter for a data frame isstarted upon the transmission of a NAK RLP control frame requestingretransmission of that data frame.

If the data frame has not arrived at the receiver when its NAKretransmission timer expires, the receiver sends a second NAK controlframe requesting retransmission of that data frame. This NAK controlframe is transmitted twice. The NAK retransmission timer for this dataframe is then restarted. If the data frame has not arrived at thereceiver when its NAK retransmission timer has expired twice, thereceiver sends a third NAK control frame requesting retransmission ofthat data frame. Each NAK control frame transmitted as the result of aretransmission timer expiring a second time is transmitted three times.

A NAK abort timer is then started in the receiver upon transmission ofthe third NAK control frame. The NAK abort timer is implemented andexpires identically to the NAK retransmission timer. If the data framehas not arrived at the receiver when its NAK abort timer has expired,the NAK is aborted and no further NAK control frames are transmitted forthat data frame.

The IS-707 NAK retransmission scheme results in a maximum number ofthree retransmission requests that include a maximum number of six NAKRLP control frames being transmitted for a particular unreceived dataframe.

In proposed medium or high data rate CDMA systems a much wider range ofdata rates may be used to carry data traffic as compared to anIS-95/IS-707 based system. For example, a second generation IS-95 system(IS-95B) has been standardized and utilizes a fundamental channel andone or more supplemental channels on a link to carry data traffic. Thefundamental and supplemental channels carry data in parallel onorthogonal CDMA code channels. The IS-95B system may transmit at muchhigher data rates than an IS-95/IS-707 based system. These systems alsoinclude the use of dynamic data rates, where the data rate and number ofchannels can change during the call to provide a desired data rate.

If a transmitter in an IS-95B system is using multiple supplementalchannels to transfer data frames and has a large number of retransmitteddata frames queued up, removing supplemental channels, for higherpriority applications or otherwise, could slow down the time it takes totransmit a retransmitted data frame. Since current IS-707 does notadvance the retransmission or abort timer when only a retransmitted dataframe or frames are received, if a retransmitted frame is lost inretransmission, the expiration of the timer is delayed until the nextnew data frame is received. This could cause delay if large numbers ofdata frames are being retransmitted. If the amount of retransmissionsnecessary in the particular system and situation were large, there couldbe adverse effects as far as slowing down transfer of data.

OBJECTS OF THE INVENTION

It is an object of this invention to provide a method and apparatus forcontrolling a retransmission/abort timer in a telecommunications systemthat overcomes the foregoing and other problems.

Another object of this invention is to provide a method and apparatusfor controlling a retransmission/abort timer that minimizes theoccurrences of unnecessary retransmission requests for unreceived dataframes from a receiver in a telecommunications system having dynamicchannel allocation and data rates.

Another object of this invention is to provide a method and apparatusfor controlling a retransmission/abort timer that timely detects amissing data frame and also minimizes the occurrences of timerexpiration that occur later than necessary in a receiver in atelecommunications system having dynamic channel allocation and datarates.

A further object of this invention is to provide a pointer for a databuffer in a receiving transceiver, wherein the pointer is utilized todetect missing retransmission data frames and provide on timeretransmission/abort timer expiration.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for controllingdata retransmission in a telecommunications system. The method andapparatus allows a receiver in a telecommunications system havingdynamic channel allocation and data rates to timely detect a missingdata frame from a received sequence of data frames and minimizes thedelay of retransmission requests and an early retransmission abort timerexpiration for unreceived data frames. The method and apparatus hasapplication in a system having a receiver buffer for buffering receiveddata frames in a receiving device and at least one retransmission and/orabort timer, where a retransmission/abort timer is started upon thetransmitting of each retransmission request for a data frame from thereceiving device.

In the method and apparatus, a novel pointer, V(P), that points to theupper bound of the retransmitted data frames in the receiver buffer idintroduced. The pointer indicates the latest data frame or highestsequence number of data frames of the data frames in a receiver bufferthat have been received in response to a retransmission request. Also inthe method and apparatus, the incrementation and the expiration of theretransmission/abort timer for each unreceived data frame are separatedas process steps. Once the retransmission/abort timer is started, anyreceived data frame type, whether valid or not, is counted in theincrementation of the retransmission/abort timer for an unreceived dataframe. However, if the received data frame is not a valid frame, anyexpiration action on the retransmission/abort timer is disabled. Thisallows any frame type to be counted against the retransmission timersubsequent to a retransmission request.

The pointer V(P) is used to prevent unnecessary extension of aretransmission/abort timer's expiration period. Anytime a valid frame isreceived, an expiration action may be taken on the retransmission timerof unreceived data frames having a sequence number less than V(P).Because the retransmitted frames are buffered in the transmitter, theframe with the earliest sequence number is sent first. If theretransmitted data frame having a sequence number less than V(P) were inthe transmitter buffer of the transmitting device, then it would be sentfirst. Without the use of the pointer V(P), a retransmitted data framewould cause an expiration action on the retransmission/abort timer to bedelayed.

In an embodiment of the invention, the method and apparatus isimplemented into a cellular telecommunications system having an RLP dataservice protocol layer based on IS-707.2. A receiving transceiver may beeither a mobile station receiving RLP frames from a base station or abase station receiving RLP frames from a mobile station. The dataservice protocol layer includes a receiver buffer for buffering receiveddata frames for controlling the retransmission/abort timers and thepassing of the data to the next higher protocol level in a receivingdevice. The receiver buffer utilizes a new retransmission pointer V(P),in combination with two IS-707.2 sequence number pointers, V(R) andV(N). V(P) contains the sequence number of the most recently receiveddata frame in the receiver buffer that was received in response to aretransmission request (retransmitted data frame). V(R) contains theexpected value of the sequence number of the next new frame to bereceived, and V(N) contains the sequence number of the next needed dataframe that was not received in sequence. In the embodimentretransmission/abort timers are implemented for each retransmissionrequest. A NAK list entry is created for each data frame for which aretransmission request has been transmitted. Each NAK list entry isassociated with a retransmission/abort timer stored upon aretransmission request for the data frame.

When an RLP frame is received in the receiving transceiver, the frame isprocessed and the RLP then processes the NAK list entries. A NAK listentry having an expired transmission/abort timer is selected in theprocess. The NAK list entries are processed for each new valid idleframe and any valid or invalid data frame received. A NAK list entryhaving an active retransmission or abort timer is processed by firstdetermining if the timer has not expired from a previous increment madewhen no expiration action took place. In the embodiment, aretransmission/abort timer may be incremented for any received frame. Ifthe timer has not previously expired, the timer is incremented.

If the increment causes the timer to expire or if the timer had alreadyexpired, it is determined if a new data frame has been received; or if anew data frame has not been received, it is determined if V(P) is set toa valid sequence number and the NAK entry's sequence number is less thanV(P). If either condition holds true, a timer expiration action isinitiated. When used to time retransmission, the expiration action ofthe retransmission/abort timer causes another NAK frame transmission forthe NAK entry, and either restarts the retransmission timer or, if theretransmission/abort timer has been already started a predeterminednumber of times as a result of a retransmission request beingtransmitted, starts the abort action timing for the NAK entry. For theabort timing, the expiration of the retransmission/abort timer causesthe removal of the NAK entry from the NAK list and transfer ofappropriate data frames in the buffer to the next higher protocol layer.

BRIEF DESCRIPTION OF THE DRAWINGS

The above set forth and other features of the invention are made moreapparent in the ensuing Detailed Description of the Invention when readin conjunction with the accompanying drawings wherein:

FIG. 1 is a block diagram of a cellular terminal that is suitable forpracticing this invention;

FIG. 2 depicts the terminal of FIG. 1 in communication with a CDMAcellular network;

FIG. 3 is a pictorial representation of a receiver buffer for processingdata frames and controlling a retransmission timer according to anembodiment of the invention; and

FIG. 4 is a flow chart illustrating process steps for controlling aretransmission timer according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIGS. 1 and 2, therein are illustrated a wireless userterminal or mobile station (MS) 10 and cellular network 32 that issuitable for practicing this invention. The mobile station 10 includesan antenna 12 for transmitting signals to and receiving signals from abase site or base station (BS) 30. The BS 30 is a part of cellularnetwork 32 that includes a mobile switching center (MSC) 34. The MSC 34provides a connection to landline trunks when the MS 10 is involved in acall.

The MS 10 includes a modulator (MOD) 14A, a transmitter 14, a receiver16, a demodulator (DEMOD) 16A, and a controller 18 that provides signalsto and receives signals from modulator 14A and demodulator 16A,respectively. These signals may include signaling information and alsospeech, data and/or packet data transmitted between MS 10 and BS 30 inaccordance with the air interface standard of the applicable cellularsystem.

Controller 18 may be comprised of a digital signal processor device, amicroprocessor device, and various analog-to-digital converters,digital-to-analog converters, and other support circuits. The controland signal processing functions of the mobile station are allocatedbetween these devices according to their respective capabilities. MS 10also includes a user interface comprised of a conventional earphone orspeaker 17, a conventional microphone 19, a display 20, and a user inputdevice, typically a keypad 22, all of which are coupled to thecontroller 18. The keypad 22 includes the conventional numeric (0-9) andrelated keys (#, *) 22 a, and other keys 22 b used for operating themobile station 10. These other keys 22 b may include, for example, aSEND key, various menu scrolling and soft keys, and a PWR key. Themobile station 10 may also include a battery 26 for powering the variouscircuits that are required to operate the mobile station.

The mobile station 10 also includes various memories, shown collectivelyas the memory 24, wherein are stored a plurality of constants andvariables that are used by the controller 18 during the operation of themobile station. For example, the memory 24 may store the values ofvarious cellular system parameters and the number assignment module(NAM). An operating program for controlling the operation of controller18 is also stored in the memory 24 (typically in a ROM device). Thememory 24 may also store or buffer data prior to transmission or afterreception. The memory 24 also includes routines for implementing themethod and apparatus of controlling a retransmission/abort timeraccording to the described embodiment of the invention.

Mobile station 10 may also function as a data terminal for transmittingor receiving packet data. As such, in this case MS 10 may be connectedto a portable computer or a fax machine through a suitable data port(DP) 28.

BS 30 also includes the necessary transmitters and receivers to allowsignal exchange with MS 10. Controllers, processors and associatedmemories that may be located in BS 30 or MSC 34 provide control of BS 30and MSC 34 and implement routines for the method and apparatus ofcontrolling a retransmission/abort timer according to the describedembodiment of the invention.

In the embodiment of this invention MS 10 and network 32 operate using adirect spread, code division multiple access (DS-CDMA) system that maybe based on the IS-95 system standard. The network may operate in the800 MHz frequency range or in the 1.8-2.0 GHz range. The network mayprovide a service option feature based on the IS-707 data servicestandard and may also use high speed data techniques that have beenproposed for CDMA-based systems to provide higher speed datatransmission than is presently provided by the present IS-95A and IS-707standards.

For example, the method and apparatus may be implemented for advantagein a system as specified in the TIA/EIA/SP-3693 Mobile Station-BaseStation Compatibility Standard for Dual Mode Wide Band Spread SpectrumCellular System (IS-95), which is to be published as IS-95B. In IS-95B,parallel fundamental and supplemental Walsh code channels are used tocarry parallel data transmissions to provide higher speed data thanavailable in IS95A, with the number of supplemental channels beingdynamically adjustable during a transmission to provide dynamic ratehigh speed data.

Referring now to FIG. 3, therein is a pictorial representation of areceiver buffer 300 for processing data frames and controlling aretransmission timer according to the invention. Receiver buffer 300 islocated in the receiving transceiver which may be in either base stationBS 30 or mobile station MS 10. FIG. 3 shows a receiver buffer asincluding RLP data frames represented by the shaded areas indicated bysequence numbers 1, 2, 5, 6, 7 and 10. The empty areas indicated bysequence numbers 3, 4, 8, 9 and 11 indicate that RLP data frames havingthese sequence numbers have not been received. The sequence numbers 1-11are representative only and may be any consecutive sequence of sequencenumbers in a series of received data frames. In FIG. 3, RLP data frames1 and 2 have been received in sequence, RLP data frames 5, 6, 7 and 10have been received out of sequence. The data frames in buffer 300 may ormay not be retransmitted data frames that were missed and transmitted inresponse to a retransmission request.

Three pointers, V(N), V(P) and V(R), are associated with receiver buffer300. V(N) is an IS-707 pointer that indicates the sequence number of thenext needed data frame that was not received in sequence. V(R) is anIS-707 pointer that indicates the expected sequence number of the nextnew data frame to be received, i.e., the next data frame in sequenceafter the received data frame having the highest sequence number inreceiver buffer 300. A data indicator, NEW_DATA, may be used todetermine whether or not a new data frame has been received. NEW_DATA isa proposed IS-707 variable that is set to 1 if the received RLP frame isa valid idle RLP frame or if the received RLP frame is a valid dataframe whose sequence number is greater than or equal to V(R). Theinformation provided by NEW_DATA is used in a novel manner in theembodiment. New pointer V(P) points to the sequence number of the upperbound (highest sequence number) for data frames for which aretransmission request has been sent and which has been received in thereceiving transceiver.

In the embodiment V(P) is used with the information provided by NEW_DATAto process a NAK list entry to determine an appropriate action to takeon the retransmission timer or abort timer for the NAK list entryaccording to the invention.

Referring now to FIG. 4, therein is a flow chart illustrating processsteps for controlling a retransmission/abort timer according to anembodiment of the invention. FIG. 4 illustrates the processing ofreceived RLP data frames. The process of FIG. 4 is performed within thereceiver of the transceiver, MS 10 or BS 30, that is receiving RLP dataframes as point-to-point protocol over the physical transmission layer.The process is started and performed utilizing pointer informationassociated with queue 300 of FIG. 3 for every 20 msec. period in which aphysical layer transmission frame is received.

The embodiment utilizes a negative acknowledgment (NAK) typeretransmission procedure where a receiving transceiver device transmitsthe sequence number of a data frame not received in sequence in a NAKframe to request retransmission of the data frame from the transmittingtransceiver device. When a receiving transceiver transmits a NAK framerequesting retransmission for a particular data frame, the sequencenumber of that data frame is placed in a NAK list in the receiver. Aretransmission/abort timer is maintained for each data frame in the NAKlist. In the embodiment, the retransmission/abort timer includes aretransmission timer used to time additional NAK frame transmissionsthat are subsequent to an initial NAK frame transmission, and an aborttimer that is used to indicate that the data frame has not been receivedin response to retransmission requests and that the retransmissionprocedure is to be aborted. The retransmission timer may be started apredetermined number of times before it can expire. The abort timer isstarted upon the expiration of the retransmission timer. Theretransmission/abort timer may be implemented using a single or usingmultiple timers in hardware or software.

The process begins at step 400 where a received RLP frame is processedand, if the received RLP frame is a valid RLP data frame, placed inqueue 300. Upon receiving the RLP frame, NEW_DATA is set to 1 if thereceived RLP frame is a valid frame with a sequence number greater orequal to V(R). V(P), V(N) and V(R) are then updated if the received RLPframe is placed in queue 300. Next, at steps 402 through 408, the nextNAK list entry having an expired retransmission/abort timer is selectedfor processing according to the invention.

At step 402 it is determined whether a NAK entry exists in the NAK list.If no NAK list entry exists, the process moves to step 416 and ends. Ifa NAK list entry exists, the process moves to step 404. At step 404 itis determined whether the retransmission/abort timer for the NAK listentry is expired. If at step 404 it is determined that theretransmission/abort timer is expired, the process moves to step 410.If, however, at step 404 it is determined that the retransmission/aborttimer is not expired, the process moves to step 406. At step 406 theretransmission/abort timer is incremented. Next at step 408 it isdetermined whether the abort-retransmission timer is expired after beingincremented. If at step 408 it is determined that theretransmission/abort timer is expired, the process moves to step 410.Otherwise, the process moves back to step 402 to process any remainingNAK list entries.

At step 410 it is determined whether the indicator NEW₁₃ DATA is set toindicate that new data was received. If it is determined that NEW_DATAis set, the process moves to step 414 where a retransmission/abort timerexpiration action is taken. If, however, at step 410 it is determinedthat NEW_DATA is not set to indicate that new data was received, theprocess moves to step 412. At step 412 it is determined if V(P) is setto indicate that a retransmitted RLP data frame has been received andthat the sequence number of the NAK entry is less than the sequencenumber indicated by V(P). If V(P) indicates that a retransmitted RLPdata frame has been received and the NAK entry's sequence number is lessthan V(P), the process moves to step 414 where a retransmission/aborttimer expiration action is taken. Otherwise, the process moves back tostep 402 to process any remaining NAK list entries.

The retransmission/abort timer expiration action taken is according toIS-707, i.e., a NAK frame is transmitted for expiration of theretransmission timer or all data frames in the buffer having a sequencenumber less than the NAK list entry are sent to the next higher protocollevel for abort timer expiration.

The invention has application to various types of telecommunicationssystems. For example, the method and apparatus may be implemented inother types of digital telecommunications systems which have aretransmission feature by which unreceived data frames are retransmittedto a receiving transceiver. Accordingly, although the invention has beenparticularly shown and described with respect to preferred embodimentsthereof, it will be understood by those skilled in the art that changesin form and details may be made therein without departing from the scopeand spirit of the invention.

What is claimed is:
 1. A method for receiving data frames in atransceiver, said method comprising the steps of: detecting that a firstselected frame has not been received in a sequence of a first pluralityof frames transmitted to the transceiver; transmitting a retransmissionrequest from the transceiver, said retransmission request requestingretransmission of said first selected frame to the transceiver; startinga timer in response to transmitting said retransmission request;receiving a second plurality of frames at the transceiver and bufferingsaid second plurality of frames in a buffer; setting a pointer thatindicates the highest sequence number of frames in said buffer receivedas a result of retransmission requests other than said retransmissionrequest requesting retransmission of said first selected frame;receiving a second selected frame at the transceiver subsequent toreceiving said second plurality of frames, placing said second selectedframe in said buffer, incrementing said timer and updating said pointer;and determining whether an expiration action should be taken on saidtimer based on said pointer.
 2. The method of claim 1, wherein said stepof determining comprises determining whether said pointer indicates asequence number greater than a sequence number of said first selectedframe.
 3. The method of claim 2, wherein said method further comprises,in response to a determination that said pointer indicates a sequencenumber greater than a sequence number of said first selected frame, thestep of taking an expiration action on said timer.
 4. The method ofclaim 2, wherein said method further comprises, in response to adetermination that said pointer does not indicate a sequence numbergreater than the sequence number of said first selected frame, the stepof taking no expiration action on said timer.
 5. The method of claim 2,wherein said method further comprises the step of determining if saidsecond selected frame is a valid data frame.
 6. The method of claim 5,wherein said method further comprises, in response to a determinationthat said pointer indicates a sequence number greater than the sequencenumber of said first selected frame and a determination that said secondselected frame is a valid data frame, taking an expiration action onsaid pointer.
 7. A method for receiving data frames in a transceiver,said method comprising the steps of: detecting that a first at least oneframe has not been received in a sequence of a second at least one frametransmitted to the transceiver; transmitting a first at least oneretransmission request from the transceiver, each said first at leastone retransmission request associated with a separate frame of saidfirst at least one frame; starting at least one timer in response totransmitting said first at least one retransmission request, each saidat least one timer associated with a separate retransmission request ofsaid first at least one retransmission request; receiving a third atleast one frame at the transceiver and buffering said third at least oneframe in a buffer; setting a pointer that indicates the highest sequencenumber of any frame in said buffer received as a result of aretransmission request; receiving a fourth at least one frame at thetransceiver, placing said fourth at least one frame in said buffer andupdating said pointer; and determining whether an expiration actionshould be taken on each said at least one timer, based on said pointer.8. The method of claim 7, wherein said step of determining comprises thesteps of: determining whether said pointer indicates a sequence numbergreater than any frame of said first at least one frame; and in responseto a determination that said pointer indicates a sequence number greaterthan any frame of said first at least one frame; taking an expirationaction on the timer of said at least one timer associated with any frameof said at least one frame determined to have a sequence number lessthan said pointer.
 9. The method of claim 7, wherein said step ofdetermining comprises the steps of: determining whether any timer ofsaid at least one timer has expired; and determining, for selectedframes of said first at least one frame associated with an expiredtimer, whether said pointer indicates a sequence number greater than thesequence number of each of said selected frames of said first at leastone frame.
 10. An apparatus for retransmitting data frames, saidapparatus comprising: a transmitter for transmitting a retransmissionrequest for a first frame; a buffer for buffering a plurality of secondframes; a receiver for receiving a third frame; a timer; and acontroller, said controller coupled to said receiver, said buffer, saidtransmitter, and said timer, said controller for starting said timerupon transmission of said retransmission request for said first framefrom said transmitter, buffering said plurality of second frames in saidbuffer and setting a pointer in said memory to indicate the highestsequence number of any of said plurality of second frames in said bufferreceived as the result of other retransmission requests from saidtransmitter, said controller further for determining, in response toreceiving said third frame at said receiver, if an expiration action onsaid timer should be taken based on said pointer.
 11. The apparatus ofclaim 10, wherein said controller determines that an expiration actionshould be taken by determining if said pointer indicates a sequencenumber greater than the sequence number of said first frame.
 12. Theapparatus of claim 10, wherein said controller determines that anexpiration action should not be taken by determining if said pointerindicates a sequence number less than the sequence number of said firstframe.
 13. An apparatus for retransmitting data frames, said apparatuscomprising: a transmitter for transmitting at least one retransmissionrequest, each said at least one retransmission request associated withone of a first at least one frame; a buffer for buffering a second atleast one frame; a receiver for receiving a third at least one frame; atleast one timer; and a controller, said controller coupled to saidreceiver, said transmitter, and said timer, wherein said controllerstarts said at least one timer upon transmission of each of said atleast one retransmission request, wherein each said at least one timeris associated with a separate retransmission request of said first atleast one retransmission request, said controller further buffering saidsecond at least one frame in said buffer and setting a pointer toindicate the highest sequence number of any of said second at least oneframe in said buffer received as the result of a retransmission request,said controller further for determining, in response to receiving saidthird at least one frame at said receiver, if an expiration action onsaid at least one timer should be taken based on said pointer.
 14. Theapparatus of claim 13, wherein said controller determines if anexpiration action should be taken based on determining whether saidpointer indicates a sequence number greater than any frame of said firstat least one frame; and in response to a determination that said pointerindicates a sequence number greater than any frame of said first atleast one frame, taking an expiration action on the timer of said atleast one timer associated with any frame of said at least one framedetermined to have a sequence number less than said pointer.
 15. Theapparatus of claim 13, wherein said controller determines if anexpiration action should be taken by determining whether any timer ofsaid at least one timer has expired, and determining, for selectedframes of said first at least one frame associated with an expiredtimer, whether said pointer indicates a sequence number greater than thesequence number of each of said selected frames of said first at leastone frame.